package com.wtb.javatool.dao;

import com.wtb.javatool.entity.Evaluation;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

@Mapper
public interface EvaluationMapper {
    /**
     * 根据提交记录id列表和评论类型查询对应的评论记录
     *
     * @param submissionIds 提交记录id列表
     * @param evaluationType 评论类型
     * @return 返回 submissionId 和记录 ID 的映射
     */
    List<Map<String, Object>> findEvaluationsBySubmissionIdsAndType(
            @Param("list") List<Long> submissionIds,
            @Param("evaluationType") Integer evaluationType
    );

    /**
     * 批量插入评论记录
     *
     * @param evaluations 评论记录列表
     */
    void batchInsertEvaluations(List<Evaluation> evaluations);

    /**
     * 批量更新评论记录
     *
     * @param evaluations 评论记录列表
     */
    void batchUpdateEvaluations(List<Evaluation> evaluations);

    /**
     * 批量删除评论记录
     *
     * @param evaluationIds 评论记录id列表
     */
    void batchDeleteEvaluations(List<Long> evaluationIds);
}
